-- 获取key，针对哪个接口限流，默认从1开始
local key = KEYS[1]
-- 获取注解上标注的限流次数
local limit = tonumber(ARGV[1])

local currentLimit = tonumber(redis.call('get', key) or '0')

-- 超过限流次数，返回0，否则走else
if currentLimit + 1 > limit
then return 0
else
    -- 自增
    redis.call('INCRBY', key, 1)
    -- 设置过期时间
    redis.call('EXPIRE', key, ARGV[2])
    return currentLimit + 1
end

